package Collection_etc;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * @author Jimmy Zhan WORKSTATION
 * @date 2023/3/20 22:03
 * 说明：
 */

public class IteratorTest {
    @Test
    public void test1(){
        Collection coll = new ArrayList();

        coll.add("AA");
        coll.add("AA");
        coll.add(123); // 基本数据类型：自动装箱
        coll.add("下硅谷");
        coll.add(new Person("Jimmy", 24));

        // 获取Iterator对象
        Iterator iterator = coll.iterator(); // 多态，coll调用iterator()方法返回的是Iterator接口的某个实现类的对象
//        System.out.println(iterator.getClass());

        // 【不常用】next(): 获取下一个元素
        System.out.println(iterator.next());

        // 【常用的遍历写法】hasNext(): 判断是否有下一个元素，return布尔类型，如果true，就可以调用next()
        while(iterator.hasNext()){
            System.out.println(iterator.next()); // 指针下移；将下移以后位置上的元素返回
        }
    }
}
